﻿using Medicalsystem.MCP.FormDesigner.Common;
using Medicalsystem.MCP.FormDesigner.Define;
using Medicalsystem.MCP.FormDesigner.Property;
using System.Drawing;

namespace Medicalsystem.MCP.FormDesigner.Interface
{
    /// <summary>
    /// 控件基础接口
    /// 说明：该接口用来定义所有控件的最基本属性
    /// </summary>
    public interface ICtrlBase : IXMLConvertor
    {
        /// <summary>
        /// 控件ID
        /// </summary>
        string CtrlID { get; set; }

        /// <summary>
        /// 控件的呈现状态
        /// </summary>
        EDesignModeState DesignModeState { get; set; }

        /// <summary>
        /// 属性编辑器交互
        /// </summary>
        GetCtrlProperty PropertyObject { get; }

        /// <summary>
        /// 设计时对控件的控制模式
        /// </summary>
        EUISizeMode UISizeMode { get; }

        /// <summary>
        /// 控件属于的模板
        /// </summary>
        Model Model { get; }
        /// <summary> 
        /// 控件属于的模板
        /// </summary>
        Image IcoForToolBox { get; }
    }
}